Proxy servers and grid storage solutions are used to manage and distribute assets over a network. Content proxy servers often perform three key features in a network environment such as, for example, load balancing, edging or caching and centralized traffic management. By way of example, proxy servers serve as intermediaries in a network by intercepting all requests for data (e.g., assets) and determining which asset is served locally or, alternatively, which request is forwarded to a machine containing the requested asset or assets. Thus, all network traffic flows through the proxy server rendering it a network bottleneck.
More specifically, known proxy servers store a copy of requested files (assets) to reduce the amount of load presented to other network resources upstream, such as a web server. The proxy server responds to requests by first checking that it has the latest copy and then responding with the locally stored, or cached, copy. Proxy servers also move assets closer to the edge of the network, e.g., closer to the systems requesting the assets.
In one typical implementation of a proxy server deployment topology, a client connects to the proxy server through a firewall. The proxy server issues a conditional HTTP GET against a web server that stores the requested asset. The proxy server either pulls the latest copy of the asset or serves the asset directly from the local cache. However, the primary drawback for the traditional proxy server solution is that the proxy brokers all traffic. Thus, even when the web server is providing the response, the traffic flows back through the proxy server.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.